package dreamdancetiktokenumsmymongo

const (
	IntoGame    = 0  // 下场
	ChangeCloth = 10 // 换装
	EffectPlay  = 20 // 播放特效

	Pallet_S_Call = 101 // 小舞台 加入队列
	Pallet_S_On   = 102 // 小舞台 上
	Pallet_S_Off  = 103 // 小舞台 下

	Pallet_B_Call = 201 // 大舞台 加入队列
	Pallet_B_On   = 202 // 大舞台 上
	Pallet_B_Off  = 203 // 大舞台 下

	Public_Speak_Call = 301 // 大舞台 加入队列
	Public_Speak_On   = 302 // 大舞台 上
	Public_Speak_Off  = 303 // 大舞台 下

	CP_Link  = 1001 // cp绑定
	CP_Break = 1002 // cp解绑

	Client_Info = 9999 // 客户端硬件信息
)

type DanceClientHHLogEnums struct{}

var DanceClientHHLogEnumsObject DanceClientHHLogEnums

func (e DanceClientHHLogEnums) Relationship() []int {
	return []int{
		IntoGame,
		ChangeCloth,
		EffectPlay,
		Pallet_S_Call,
		Pallet_S_On,
		Pallet_S_Off,
		Pallet_B_Call,
		Pallet_B_On,
		Pallet_B_Off,
		Public_Speak_Call,
		Public_Speak_On,
		Public_Speak_Off,
		CP_Link,
		CP_Break,
		Client_Info,
	}
}

func (e DanceClientHHLogEnums) EventNameMap() map[int]string {
	m := make(map[int]string)
	for _, s := range e.Relationship() {
		m[s] = e.EventName(s)
	}
	return m
}

func (e DanceClientHHLogEnums) EventName(id int) string {
	switch id {
	case IntoGame:
		return "下场"
	case ChangeCloth:
		return "换装"
	case EffectPlay:
		return "播放特效"
	case Pallet_S_Call:
		return "小舞台 加入队列"
	case Pallet_S_On:
		return "小舞台 上"
	case Pallet_S_Off:
		return "小舞台 下"
	case Pallet_B_Call:
		return "大舞台 加入队列"
	case Pallet_B_On:
		return "大舞台 上"
	case Pallet_B_Off:
		return "大舞台 下"
	case Public_Speak_Call:
		return "大舞台 加入队列"
	case Public_Speak_On:
		return "大舞台 上"
	case Public_Speak_Off:
		return "大舞台 下"
	case CP_Link:
		return "cp绑定"
	case CP_Break:
		return "cp解绑"
	case Client_Info:
		return "客户端硬件信息"

	default:
		return "未知"
	}
}
